//package net.sudot.chess.plugin.login.wechat;
//
//import net.sudot.chess.business.model.PluginConfig;
//import net.sudot.chess.plugin.login.LoginPlugin;
//import net.sudot.chess.plugin.payment.PaymentPlugin;
//import net.sudot.commons.utils.ResponseMessage;
//import org.springframework.stereotype.Controller;
//import org.springframework.ui.ModelMap;
//import org.springframework.web.bind.annotation.GetMapping;
//import org.springframework.web.bind.annotation.PostMapping;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.RequestParam;
//import org.springframework.web.bind.annotation.ResponseBody;
//import org.springframework.web.servlet.mvc.support.RedirectAttributes;
//
//import javax.annotation.Resource;
//import java.util.HashMap;
//import java.util.Map;
//
///**
// * 微信登录
// *
// * @author tangjialin on 2018-03-18.
// */
//@Controller
//@RequestMapping("/admin/plugin/login/wechat")
//public class WeChatLoginController {
//
//    @Resource
//    private WeChatLoginPlugin weChatLoginPlugin;
//    @Resource
//    private PluginConfigService pluginConfigService;
//
//    /**
//     * 安装
//     */
//    @PostMapping("/install")
//    @ResponseBody
//    public ResponseMessage install() {
//        if (!weChatLoginPlugin.getIsInstalled()) {
//            PluginConfig pluginConfig = new PluginConfig();
//            pluginConfig.setPluginId(weChatLoginPlugin.getId());
//            pluginConfig.setIsEnabled(false);
//            pluginConfig.setAttributes(null);
//            pluginConfigService.save(pluginConfig);
//        }
//        return SUCCESS_MESSAGE;
//    }
//
//    /**
//     * 卸载
//     */
//    @PostMapping("/uninstall")
//    public @ResponseBody
//    Message uninstall() {
//        if (weChatLoginPlugin.getIsInstalled()) {
//            pluginConfigService.deleteByPluginId(weChatLoginPlugin.getId());
//        }
//        return SUCCESS_MESSAGE;
//    }
//
//    /**
//     * 设置
//     */
//    @GetMapping("/setting")
//    public String setting(ModelMap model) {
//        PluginConfig pluginConfig = weChatLoginPlugin.getConfig();
//        model.addAttribute("pluginConfig", pluginConfig);
//        return "/plugin/wechatLogin/setting";
//    }
//
//    /**
//     * 更新
//     */
//    @PostMapping("/update")
//    public String update(String loginMethodName, String appId, String appSecret, String logo, String description, @RequestParam(defaultValue = "false") Boolean isEnabled, Integer order, RedirectAttributes redirectAttributes) {
//        PluginConfig pluginConfig = weChatLoginPlugin.getConfig();
//        Map<String, String> attributes = new HashMap<>();
//        attributes.put(LoginPlugin.LOGIN_METHOD_NAME_ATTRIBUTE_NAME, loginMethodName);
//        attributes.put("appId", appId);
//        attributes.put("appSecret", appSecret);
//        attributes.put(PaymentPlugin.LOGO_ATTRIBUTE_NAME, logo);
//        attributes.put(PaymentPlugin.DESCRIPTION_ATTRIBUTE_NAME, description);
//        pluginConfig.setAttributes(attributes);
//        pluginConfig.setIsEnabled(isEnabled);
//        pluginConfig.setOrder(order);
//        pluginConfigService.update(pluginConfig);
//        addFlashMessage(redirectAttributes, SUCCESS_MESSAGE);
//        return "redirect:/admin/login_plugin/list";
//    }
//
//}